Variablity

Es soll die Möglichkeit bestehen, neue Dienste, z.B. der Transport eines Werstückes in das Lager, die die Maschinen der Ablaufsteuerung zur Verfügung stellen, in das Framework hinzuzufügen.

Constraints

Context

Die Ablaufsteuerung fordert unterschiedliche Dienste von den einzelnen Maschinen an, z.B. Dienste für den Transport oder für das Handling. Diese werden jedoch nicht direkt an die Maschine weitergegeben. Die Anforderung der Dienste wird über mehrere Klassen weitergereicht. Wenn nun eine Maschine einen neuen Dienst zur Verfügung stellt und dieser Dienst genutzt werden soll, muß dieser Dienst in das System integriert werden. Dazu muß die Anforderung dieses Dienstes auch wieder über mehrere Klassen weitergeleitet werden und die Schnittstellen der Klassen entsprechend erweitert werden.

Examples

Extension

Für eine Erweiterung des Frameworks um neue Dienste sind die folgenden Schritte notwendig:

  1. Es ist der Aufzählungstyp TypeOfCmd zu erweitern.
  2. Eine neue Klasse muß von der Klasse Cmd abgeleitet werden.
  3. Der Konstruktor der neuen Klasse muß die Variable CmdType mit der Erweiterung des Aufzählungstyps TypeOfCmd initialisieren.
  4. In den von Machining, Transport und Handling abgeleiteten Klassen muß die Methode ProcessingControl angepaßt werden, wenn diese Klasse den neuen Dienst bereitstellt. In diesen Fall muß in der Methode abgefragt werden (mit Hilfe von GetTypeOfCmd) , ob der neue Dienst angefordert wird und dann der entsprechende Algorithmus ausgeführt werden.
  5. Durch eine Erweiterung des Aufzählungstyps TaskType kann eine weitere Unterscheidung der einzelnen Dienste vorgenommen werden.



OSEFA: © '96 Fachhochschule Konstanz, Fachbereich Informatik, Prof. Schmid
Dokumentation: © '97 Universität-GH Siegen, FB 12, Markus Blachnik & Georg Odenthal